package com.tyut.musicdreamer.service.music.model.vo;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 歌单视图对象
 */
@Data
public class PlaylistVO {
    
    /**
     * 歌单ID
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;
    
    /**
     * 创建者用户ID
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long userId;
    
    /**
     * 创建者用户名
     */
    private String username;
    
    /**
     * 创建者头像
     */
    private String userAvatar;
    
    /**
     * 歌单名称
     */
    private String name;
    
    /**
     * 歌单封面图片URL
     */
    private String coverUrl;
    
    /**
     * 歌单描述
     */
    private String description;
    
    /**
     * 是否公开 (0-私密, 1-公开)
     */
    private Integer isPublic;
    
    /**
     * 歌曲数量
     */
    private Integer songCount;
    
    /**
     * 播放次数
     */
    private Integer playCount;
    
    /**
     * 收藏次数
     */
    private Integer favoriteCount;
    
    /**
     * 分享次数
     */
    private Integer shareCount;
    
    /**
     * 创建时间
     */
    private LocalDateTime createTime;
    
    /**
     * 更新时间
     */
    private LocalDateTime updateTime;
} 